]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Layout: don't minimize fullscreen windows that are focused
authorGiovanni Campagna <gcampagna@src.gnome.org>
Thu, 28 Feb 2013 22:17:47 +0000 (23:17 +0100)
committerGiovanni Campagna <gcampagna@src.gnome.org>
Fri, 1 Mar 2013 17:07:47 +0000 (18:07 +0100)
Windows can sometimes be focused, or appear to be focused, without being
at the exact top of the stack, for example in the case of override-redirect
windows, or with attached modal dialogs. In that case, we should not
try to minimize them (as it creates a loop that makes it impossible to restore
the window)

https://bugzilla.gnome.org/show_bug.cgi?id=694905

js/ui/layout.js

index 8fdf57a7d89fa7e34360addc59c975fe55c848d6..8fe1eb7d33372d01eaefa378996c31d5b7845e21 100644 (file)
@@ -923,7 +923,7 @@ const LayoutManager = new Lang.Class({
 
         if (primaryWasInFullscreen != this.primaryMonitor.inFullscreen) {
             let windows = this._getWindowActorsForWorkspace(global.screen.get_active_workspace());
-            for (let i = 0; i < windows.length - 1; i++) {
+            for (let i = 0; i < windows.length; i++) {
                 let window = windows[i];
                 let metaWindow = window.meta_window;
 
@@ -935,8 +935,9 @@ const LayoutManager = new Lang.Class({
                 if (!metaWindow.is_on_primary_monitor())
                     continue;
 
-                // Minimize monitor sized windows
-                if (metaWindow.is_monitor_sized())
+                // Minimize monitor sized windows that are not focused
+                if (metaWindow.is_monitor_sized() &&
+                    !metaWindow.appears_focused)
                     metaWindow.minimize();
             }
             this.emit('primary-fullscreen-changed', this.primaryMonitor.inFullscreen);